Define principal fields
Principal fields are key data fields used throughout XECUTE to describe, calculate, and report on properties of activity areas (mining areas/shapes). They form the foundation for reserving, scheduling, reporting, and rule definitions, so they are one of the first configurations you should set up when starting a new project. Begin with the most critical fields, then add others as your requirements grow.
Principal fields are defined globally, meaning they are available across all sites in XECUTE. Similarly, activity definitions are also global. For each activity type, you select the principal fields it will inherit. This ensures that each activity only includes fields relevant to its purpose.
For example:
-
Drilling activities inherit drilling-related fields such as DrillMetres, DrillSpacing, and DrillType.
-
Mining activities inherit mining-related fields such as Au (gold grade) and OxCode (oxidation code).
Open principal fields setup
To configure principal fields, go to Config > System Configuration > Principal Fields.
What are principal fields?
Principal fields represent core attributes—such as volume, mass, or grade—used to describe and quantify key properties of activity areas. They are necessary to measure outcomes for activity areas and drive calculations in scheduling, reserving, reporting, and rule definitions.
Principal fields can obtain their values in two ways:
-
Mapped from block models: pulling data from the site’s geological model.
-
Calculated using expressions: applying formulas that use operators and functions, and reference other principal fields.
Principal fields support different data types (numeric, text, date) and aggregation methods (Sum, Weighted Average, Min, Max).
-
Numeric fields are typically used for quantities like tonnes, metres, or grades.
-
Text fields classify material types or operational states.
Which fields do I create?
Create principal fields that are essential for tracking and reporting the results of each activity you plan to schedule. These fields provide the key metrics that quantify performance for activity areas.
When deciding which fields to define, consider:
-
What information do you need to monitor or report? For example, tonnes mined, drill metres, or material classification.
-
How will values be determined?
-
From the block model (e.g., grade, density, volume).
-
From custom expressions that calculate values using other fields or constants.
-
Focus on fields that directly support your operational objectives, such as production targets, compliance reporting, or blending requirements.
Start simple and scale up
For new sites, define only the minimum set of fields needed to report on essential metrics. Avoid overcomplicating the setup. As your project grows and your reporting or planning needs become more detailed, you can add additional fields incrementally.
How to define principal fields
How to define principal fields
-
Go to Config > System Configuration > Principal Fields.
-
For each field you want to create:
-
Click Add.
-
Enter the required property inputs, including the name, field type, and aggregation type.
-
Enter a default value.
-
Set up the Expression to determine how the field derives its values.
The values should be consistent with the specified units and be determined by considering the selected aggregation type.
-
Default principal fields
XECUTE provides a set of pre-defined principal fields. The software internally determines their values. These fields are essential for core calculations and reporting.
While you can view their properties, only the Units and Decimal places can be edited.
These descriptions reference activity area slices, which are divided sections of an activity area shape – created along a specified mining direction. Slicing improves planning accuracy by enabling reserves, quantities, and other metrics to be calculated and reported at a finer level of detail (e.g., per slice) rather than only for the entire activity area.
|
Field |
Description |
|---|---|
|
AvgFlrElevation |
Average elevation of the floor of the activity area slice, calculated from the minimum Z-values at the slice centroid or all vertices. |
|
AvgThk |
Average thickness of the activity area slice, calculated as Volume ÷ Plan Area. |
|
Density |
Determined from the Density field in the imported block models for the given site. This value is mapped during configuration and used in calculations such as for the Mass field. |
|
GradeControlIntersectionPercent |
Percentage of the grade control volume that intersects with the activity area’s volume. In other words, it defines how much a grade control shape (deposit area overriding certain geological attributes) overlaps an activity area. |
|
Mass |
Calculated as Volume × Density. |
|
PlanArea |
The surface area of the activity area slice silhouette. |
|
Volume |
The total volume of the activity area slice. |
|
Volume_Swollen |
The activity area slice Volume after applying the swell factor. The swell factor is applied to material definitions in Site Management > Materials. |
Example principal fields
Below are examples of principal fields commonly used in mining and drilling activities.
|
Code |
Description |
Category |
Units |
Field Type |
Aggregation |
Expression / Source |
|---|---|---|---|---|---|---|
|
Volume |
In-situ volume of material |
Default |
m³ |
Number |
Sum |
Determined by software |
|
Mass |
Tonnes of material (Volume × Density) |
Default |
t |
Number |
Sum |
Determined by software |
|
Density |
Material density from block model |
Default |
t/m³ |
Number |
Weighted Avg (by Volume) |
Mapped from block model |
|
Au |
Gold grade |
Ore |
ppm |
Number |
Weighted Avg (by Mass) |
Mapped from block model |
|
AuOz |
Gold ounces |
Ore |
ozt |
Number |
Sum |
(Au ÷ 31.1) × Mass |
|
PlanArea |
Horizontal area of slice |
Default |
m² |
Number |
Sum |
Determined by software |
|
AvgTk |
Average thickness of slice |
Default |
m |
Number |
Weighted Avg (by PlanArea) |
Determined by software |
|
Volume_Swollen |
Volume after swell factor |
Default |
m³ |
Number |
Sum |
Determined by software |
|
Holes |
Number of drill holes |
Drill |
Holes |
Number |
Sum |
PlanArea ÷ BurdenSpacing |
|
DrillMetres |
Total drill length |
Drill |
m |
Number |
Sum |
AvgTk × Holes |
|
BurdenSpacing |
Drill pattern spacing |
Drill |
m |
Number |
Weighted Avg (by Volume) |
8 × 8 |
|
ANFO |
Explosives requirement |
Drill |
kg |
Number |
Sum |
43 × Holes × 8 |
|
OxCode |
Oxidation code |
Code flag |
– |
Text |
– |
Mapped from block model |
|
GradeControl IntersectionPercent |
% overlap with grade control |
Default |
% |
Number |
Weighted Avg (by Volume) |
Determined by software |
Other examples of principal fields
Mining and material movement
-
BCM: Bank cubic metres (volume in-situ)
-
SwellFactor: Factor applied to calculate loose volume
-
VolDozerPush: Volume allocated for dozer push
-
VolDozerRehandle: Volume allocated for dozer rehandle
Drilling and blasting
-
Burden: Drill burden dimension
-
Spacing: Drill spacing dimension
-
LegendDrillAndBlast: Drill and blast pattern classification
-
ExplodingRate: Explosive consumption rate
-
ExpTon / ExpTonPerDay: Expected tonnes or daily rate for explosives planning
-
ExpLoadingRate: Expected explosive loading rate
Ore quality and processing
-
Yield (Yld): Recovery or yield percentage for processing
-
Ash: Ash content
-
CrucibleSwellingNumber: Coke strength indicator
-
CalorificValue: Energy content of material
-
FC / IM: Fixed Carbon and Inherent Moisture
-
ROM Fe, SiO₂, Al₂O₃, Phos, LOI: Run-of-mine ore chemistry
-
Lump Fe, SiO₂, Al₂O₃, Phos, LOI: Lump product chemistry
-
Fines Fe, SiO₂, Al₂O₃, Phos, LOI: Fines product chemistry
Classification and flags
-
KType: Material classification
-
WaterTableFlag: Indicates water table presence
-
FibrousFlag: Indicates fibrous material
-
GeologicalClass: Geological classification
Usage in scheduling and reporting
Principal fields are used in:
-
Activity types (e.g. assign quantity fields to Mining or Drilling activities)
-
Product Optimisation (e.g., create filters on final products, allowing only material with a gold grade (Au) between 0.6 and 0.7).
Only fields with Sum or Weight Average aggregation types can be used in objectives.
-
Reports (e.g., assign fields to reports to evaluate characteristics of activity areas)
Field definition
Use the Add and Remove buttons to create or delete fields as needed. Each principal field includes the following properties:
|
Principal Field |
|||||||||||||||||||
|
Code |
Defines a unique identifier for the field. If the field will derive its value from a site’s block model, the code could match the name of the associated field in the block model. |
||||||||||||||||||
|
Description |
Allocates a user-friendly label for the field. |
||||||||||||||||||
|
Category |
Defines a category for the field. All fields within the same category are grouped together in the interface, which helps keep things organised for mapping and reporting. |
||||||||||||||||||
|
Units |
Display units for numeric fields (e.g., t, m3). |
||||||||||||||||||
|
Field Type |
Defines the type of data stored in the field.
|
||||||||||||||||||
|
Aggregation Type |
Defines how a field’s values are aggregated from the lowest level (e.g., slice) up to the highest level (e.g., activity area). This determines how data rolls up through the hierarchy.
There’s also the Aggregated Evaluation type. Refer to Aggregated evaluation below. |
||||||||||||||||||
|
Weighting Field |
Specifies the field used to weight values when the Aggregation Type is set to Weighted Average. |
||||||||||||||||||
|
Decimal |
Defines the number of decimal places to display for numeric values. |
||||||||||||||||||
|
Default Value |
Defines a fallback value if the field cannot be mapped or calculated (e.g., missing block model data). |
||||||||||||||||||
|
For more information about deriving values from an expression or the block model, see Determining values below. |
|||||||||||||||||||
|
Expression |
Indicates whether the field uses an expression (Yes) or derives its value from a block model (No).
For details on building expressions, see Use the expression builder below. |
||||||||||||||||||
|
For more information about the evaluation level, refer to Evaluation level below. |
|||||||||||||||||||
|
Evaluation Level |
Determines when the expression is applied during reserving calculations (the process of calculating reserves (e.g., tonnes, grades, volumes) for activity areas based on block model data):
|
||||||||||||||||||
|
Evaluation Type |
Available only when Evaluation Level = Slice. Defines how the expression applies at the slice level:
|
||||||||||||||||||
Determining values
After defining a principal field (its code, category, field type, and so on), you must determine how it derives values. Each activity area inherits the set of principal fields, so the values are determined against each activity area. For example, activity area DIG_01 may inherit a set of principal fields named Au, Volume, Mass, and OxCode.
Deriving from block model fields
When setting up a site, you import block models to define its underlying geology. Block models include attributes, which describe qualities, quantities, and characteristics of the mineralisation within the deposit. However, these fields aren’t used until they are mapped to principal fields.
Custom values
Fields can also be defined using expressions, allowing dynamic calculations based on other field values or spatial context.
Alongside defining the block model’s existing attributes, you can define and calculate additional attributes that don’t exist in the block model. The value of a calculated attribute derives from an expression, which can include an equation that references the values of other attributes. Calculated fields can help condition the imported data an derive related information that the block model hasn’t provided. A field can store either double (numeric) values or classification (text) values.
Use the expression builder
When you set Expression = Yes for a principal field, you’ll use the Expression Builder to define how its value is calculated. This is useful when the block model doesn’t provide the required data or when you need a derived value (e.g., DrillMetres, BurdenSpacing).
Why and when to use it
By default, principal fields get their values from block model mappings, aggregated according to the field’s Aggregation Type. Expressions let you override this and calculate values dynamically, using other fields, constants, or logic.
Together with Evaluation Level and Evaluation Type, expressions control when and how calculations occur during reserving.
Available fields
The fields available depend on your evaluation settings:
-
Block level: Principal fields and name fields (no spatial fields).
-
Slice level – Slice Total: Principal fields, name fields, material fields, and area fields. Spatial fields like PlanArea and AvgThk are available here.
-
Slice level – Material-Based: Principal fields and name fields only (no spatial fields).
Material-based expressions
When you choose Material-Based, you start by creating a default expression that applies to all materials. If some materials need different logic, you can override the default by adding material-specific expressions:
-
Select a material from the Material-Based Expressions list and click Add.
-
The material appears in a table where you define its expression.
-
Any material without its own expression will continue to use the default.
-
To remove a material-specific expression, select its row in the table and delete it.
Example use cases
Here are some examples that show how principal fields work together in different scenarios.
Principal fields for activities that move material
When an activity type moves material (for example, a Mining activity), its Quantity Field—the field that determines how much material the activity will move—must be a principal field that represents an accumulation value such as Mass or Volume. These fields are critical because they drive the scheduling and reporting of material movement.
How these fields are usually configured
-
In most cases, the field is mapped directly from the block model (Expression = No).
-
If you need to adjust the block data, you can enable Expression = Yes and build an expression to calculate the required value.
-
However, if you use an expression, it cannot reference any fields that have an Aggregated Evaluation aggregation type.
Aggregation type requirements
-
The Aggregation Type for these fields must be Sum or Weighted Average.
-
For quantity fields in material-moving activities, the aggregation type can only be Sum.
-
Once a field is used as a Quantity Field in an activity type, its aggregation type cannot be changed.
Principal fields for drilling activities
Drilling activities use a quantity field that doesn’t move material, such as DrillMetres. Unlike mining activities, these values are usually calculated using expressions because they depend on geometry and drill pattern dimensions.
How drill metres are calculated
Drill metres are typically based on:
-
PlanArea: the plan area of the activity or slice
-
AvgThk: the average thickness of the slice
-
BurdenSpacing: the drill pattern spacing (Burden × Spacing)
Burden and spacing could vary based on the underlying geology within the activity area. They could be calculated in several ways, including using default values, referencing a principal field, or applying material-specific logic.
A common expression looks like this:
PlanArea * AvgThk / BurdenSpacing
In this case:
-
Evaluation Level: Set to Slice so that geometry-based fields like PlanArea are available.
-
Aggregation Type: Must be Sum, because DrillMetres will be used as the quantity field for the drilling activity type.
An example DrillMetres principal field configuration is shown below.
|
Principal Field (DrillMetres) |
|
|
Code |
DrillMetres |
|
Description |
Drill Metres |
|
Category |
Drills |
|
Units |
m |
|
Field Type |
Number |
|
Aggregation Type |
Number |
|
Weighting Field |
Sum |
|
Decimal |
2 |
|
Default Value |
0 |
|
Expression |
Plan Area / BurdenSpacing * AvgTk |
|
Evaluation Level |
Slice |
|
Evaluation Type |
Slice Total Expression |
Handling different spacing by material
Sometimes, drill pattern spacing varies by material type. In this case, you can use a Material-Based expression at the slice level:
-
The default expression applies to all materials unless overridden.
-
Each material can have its own expression for spacing (e.g., waste vs ore).
In this example, for the BurdenSpacing principal field, a slice-level material-based expression applies different spacing for Waste material. Other materials use the default expression (but an expression could be set for each material).
|
|
||||||||||||||||||||||||
Reviewing results
You can review the calculated values in Client > Activity Areas. Enable the relevant fields in the activity type’s field list and save changes.
|
Activity Area |
PlanArea |
AbgTk |
Volume |
BurdenSpacing |
DrillMetres |
|---|---|---|---|---|---|
|
DRL_01 |
29,234.76 |
5.59 |
163,430.33 |
52.82 |
3,090.25 |
Example drill principal field values for a drilling activity area
Advanced information
The following features are functions are more versed for familiar XECUTE users. Use them after you’ve set up the initial functional project.